
import java.util.Random;

public class Test {
    public static void main(String[] args) {
        // 1.创建一个线程分组（女子100米比赛）
        ThreadGroup group = new ThreadGroup("thread-group");
        // 2.定义一个公共的任务（线程的任务）
        Runnable runTask = new Runnable() {
            @Override
            public void run() { // 业务（任务）
                // 生成一个 1-3 秒的随机数
                int num = (1 + new Random().nextInt(3));

                // 跑了 n 秒之后到达了终点
                try {
                    Thread.sleep(num * 1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                // 得到执行此方法的线程
                Thread t = Thread.currentThread();
                System.out.println(t.getName() + "——选手到达终点：" + num + "s");
            }
        };
        // 3.线程（运动员）
        Thread t1 = new Thread(group, runTask); // 创建选手 1
        Thread t2 = new Thread(group, runTask); // 创建选手 2
        Thread t3 = new Thread(group, runTask); // 创建选手 3
        // 开跑
        t1.start();
        t2.start();
        t3.start();
        // 所有人全部到达重点之后宣布成绩
        while (group.activeCount() != 0) {
        }
        System.out.println("宣布比赛成绩");
    }
}